﻿//-----------------------------------------------------------------------
// <copyright file="ArgumentDef.cs" company="tuliprules.org">
//     Copyright (c) 2010 tuplelister, tuliprules.org.
// </copyright>
// <summary>This is the ArgumentDef class.</summary>
//-----------------------------------------------------------------------

namespace Tulip.Rules.CodeGen.Models.ClosedWorld
{
    using System.Diagnostics.CodeAnalysis;

    /// <summary>
    /// Argument definition.
    /// </summary>
    [SuppressMessage("StyleCop.CSharp.MaintainabilityRules", "SA1401:FieldsMustBePrivate",
        Justification = "Reviewed. Suppression is OK here.")]
    public class ArgumentDef
    {
        /// <summary>
        /// Name of srgument.
        /// </summary>
        public string ArgumentName;

        /// <summary>
        /// Positional index of argument.
        /// </summary>
        public int ArgumentPosition;

        /// <summary>
        /// Expression definition of the argument.
        /// </summary>
        public ExpressionDef ArgumentExpression;
    }
}